// 生产环境独有配置

const CSSMinimizerPlugin = require('css-minimizer-webpack-plugin');
const TerserPlugin = require('terser-webpack-plugin');

module.exports = {
  // 生产环境使用生产模式
  mode: 'production',
  output: {
    // 生产环境需把输出文件名设置根据文件内容 hash 值命名，避免浏览器缓存不能及时更新资源
    filename: 'scripts/[name].[contenthash].js',
    // 生产环境需要配置公共路径，一般是服务器的访问地址 协议+域名(ip)+端口
    publicPath: 'http://localhost:8080/'
  },
  // 生产环境优化配置 css、js压缩
  optimization: {
    minimizer: [
      new CSSMinimizerPlugin(),
      // webpack 开箱即用的 js 代码压缩插件
      new TerserPlugin()
    ]
  },
  // 打包的时候终端不显示一些警告，比如打包后提示文件资源太大
  performance: {
    hints: false,
  }
}